type First<T extends any[]> = T extends [infer First, ...infer Rest]
  ? First
  : never;

const t1 = [1, 2, 3] as const;
type T1 = typeof t1;
type T2 = T1 extends [infer First, ...infer Rest] ? true : false;
